#include "main.h"
#include "motor.h"
#include "tim.h"

#define AIN1_RESET    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET);
#define AIN1_SET      HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET);
#define BIN1_RESET    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET);
#define BIN1_SET      HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET);
void MotorInit(void)
{
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
}

void SetMotorPwm(int16_t pwm1)
{
	if(pwm1>0)
	{
		AIN1_RESET;
		BIN1_SET;
		if(pwm1>1000)
			pwm1=1000;
		__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,pwm1);
	}
	else if(pwm1<0)
	{
		AIN1_SET;
		BIN1_RESET;
		if(pwm1<-1000)
			pwm1=-1000;
		__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,-pwm1);
	}
	else if(pwm1==0)
	{
		AIN1_RESET;
		BIN1_RESET;
		__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,pwm1);
	}
}
